รู้หรือไม่…การเขียนโปรแกรม งานอดิเรกของนักโปรแกรมเมอร์หลายคน นอกจากจะได้ช่วยเสริมสร้างทักษะด้านคอมพิวเตอร์ให้ชำนาญมากขึ้นและยังทำให้เวลาว่างที่มีอยู่เกิดประโยชน์ แต่วันนี้ JOBTOPGUN อยากจะแชร์ให้คุณทราบว่าดนตรี กีฬา และงานอดิเรกแต่ละประเภทจะช่วยฝึกฝนทักษะความสามารถเรื่องใดให้คุณบ้าง ทักษะเหล่านี้คุณควรมีโดยที่คุณอาจจะยังไม่รู้ตัว ซึ่งผลการวิเคราะห์นี้มาจากงานวิจัยของท็อปกันร่วมกับมหาวิทยาลัยมหิดล โดยมีผู้ร่วมตอบแบบสอบถามถึงกว่า 20,000 คน มาดูกันว่าคนที่ชอบเขียนโปรแกรมเป็นคนแบบไหน!
1.คิดอย่างมีหลักการ
การเขียนโปรแกรมนั้น เราจะต้องรู้จักการคิดอย่างรอบคอบ เริ่มตั้งแต่ การทำ Flow Chart และวางแผนว่าต้องทำสิ่งใดก่อนหลัง หากว่าเราเริ่มทางเดินของการเขียนที่ไม่ดี แน่นอนว่า ก้าวต่อไปของการเขียนนั้น ต้องพบปัญหาอย่างแน่นอน ดังนั้นขั้นตอนแรกต้องพยายามมองเกมให้ขาดว่าต้องเป็นอย่างไร
การเขียนโปรแกรมจำเป็นต้องคิดเชิงวิเคราะห์ จากนั้นจึงต้องเรียงลำดับกระบวนการอย่างมีหลักการมีเหตุผลโดยอาศัยความเป็นจริงที่เกิดขึ้น จึงสามารถวางแผนและทำงานลุล่วง หากไม่มีพื้นฐานการคิดที่มีหลักการ การเขียนโปรแกรมนั้นก็จะเกิดการผิดพลาดทาง Logic อันนำไปสู่การผิดพลาดของการทำงานของโปรแกรมได้
2.ทางานเป็นระบบ
เนื่องจากการเขียนโปรแกรม เป็นงานที่ต้องการการทำงานที่เป็นขั้นเป็นตอน ข้ามขั้นตอนใดไป อาจทำให้งานนั้นเกิด Bug หรือ error ได้ การทำงานจึงต้องทำให้เป็นระบบ ในทุกๆส่วนของการเขียนโปรแกรมเราต้องทำงานเป็น
ระบบ ต้องทราบเสมอว่าบรรทัดที่เราเขียนเงื่อนไขโปรแกรมนั้นจะส่งผลกระทบอะไรในภายหน้าบ้าง และต้องมีลำดับของการสร้างเงื่อนไขก่อนหลัง ซึ่งจุดนี้เองจะทำให้โปรแกรมมีปัญหา น้อยลง และการพัฒนาโปรแกรมขนาดใหญ่ก็ต้องมีการแบ่งส่วนการเริ่มใช้งานเพื่อให้มีการแก้ปัญหาทีละส่วน ดังนั้นการเขียนโปรแกรมจึงต้องมีการวางแผนอย่างเป็นระบบที่ดีเพื่อไม่ให้เสียเวลาในการพัฒนาเพิ่มหรือแก้ไขในคราวต่อไป
3.ใฝ่หาความรู้ใหม่ๆ
เนื่องจากการพัฒนาโปรแกรมในปัจจุบันมีอยู่หลายทาง แต่ที่จะกล่าวคือ การพัฒนาโปรแกรมที่มีอยู่แล้ว กับการพัฒนาสิ่งที่ไม่เคยเกิดขึ้น การพัฒนาสิ่งที่มีอยู่แล้วนั้น ต้องพัฒนาอย่างไรให้มีประโยชน์ หรือความสามารถมากกว่าเดิมการพัฒนาในสิ่งที่ยังไม่มีมาก่อน ต้องพัฒนาอย่างไรให้โปรแกรมมีประโยชน์และนำไปใช้ได้จริง ดังนั้น การใฝ่หาความรู้ใหม่ๆจึงสำคัญสุด เนื่องจากถ้าเราไม่ใฝ่หาความรู้ใหม่ๆ ก็จะกลายเป็นผู้ตามเสมอไป และจะไม่มีทางพัฒนาอะไรที่เหนือคู่แข่งได้
4.ตรวจสอบความถูกต้องในทุกรายละเอียด
โปรแกรมคอมพิวเตอร์มีความละเอียดอ่อนในแต่ละขั้นตอนของการเขียนโปรแกรม ถ้าขั้นตอนใดหรือส่วนใดส่วนหนึ่งของโปรแกรมเกิดผิดพลาด จะทำให้ระบบเกิดข้อผิด พลาดหรือทำให้ระบบล่มได้ทั้งระบบ ซึ่งไม่ว่าระบบนั้นจะเล็กหรือใหญ่เพียงใด ข้อผิด พลาดเพียงนิดเดียวก็ทำให้เกิดการสูญเสียได้มากมาย ดังนั้นผู้เขียนโปรแกรมจึงต้องใส่ใจทุกรายละเอียด หมั่นตรวจสอบโปรแกรมในแต่ละขั้นตอน แต่ละส่วนอย่างละเอียดรอบคอบก่อนที่จะส่งให้ลูกค้า หรือผู้อื่นนำไปใช้ การตรวจสอบความถูกต้องในการเขียนโปรแกรมนั้น ผู้เขียนย่อมมีทักษะในการจดจำรายละเอียด และถูกฝึกให้เป็นที่มีการสังเกตการณ์ได้ดี แม้บางครั้งเป็นเรื่องเป็นรายละเอียดเพียงเล็กน้อย หากแต่นักเขียนโปรแกรมนั้นก็สามารถจะมองเห็นความแตกต่าง และความผิดปกติ ที่คนอื่นมองข้ามไป
5.กล้าที่จะลองผิดลองถูก
ในการเขียนโปรแกรมแต่ละครั้ง บางครั้งโจทย์ที่เหมือนกันจะมีวิธีการคิดได้หลายอย่าง เพื่อให้ได้คำตอบตัวกัน สิ่งที่เราคิดว่าถูก เมื่อนำไปเขียนในโปรแกรม ก็อาจจะผิดได้ ก่อนที่จะได้โปรแกรมอย่างง่ายแต่ละครั้งจึงต้องทำการลองผิดลองถูกหลายครั้งจนกว่าจะได้โปรแกรมที่เราต้องการ
เสมือนการลองใช้ตัวแปรในแบบต่างๆ เพื่อที่จะดูว่าแบบใดให้ประสิทธิภาพดีที่สุด หรือ การวางโครงสร้างใหม่ๆที่ช่วยทำให้โปรแกรมมีโครงสร้างสวยงาม เข้าใจง่ายและถูกต้อง ซึ่งการเขียนโปรแกรม เราสามารถใช้ความรู้ความเข้าใจที่มี มาลองใช้ได้อย่างอิสระนั่นเอง
6.เป็นนักวิเคราะห์
ในการโปรแกรมมิ่ง เราต้องรู้ว่าโปรแกรมที่จะทำนั้นเริ่มต้นและสิ้นสุดการทำงานอย่างไร มีขั้นตอนในการทำงานอย่างไรในแต่ละฟังค์ชั่น ควรจะใช้วิธีการกับข้อมูลให้มีประสิทธิ ภาพสูงสุดเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ โดยใช้ทรัพยากรในการทำงานน้อยที่สุด
เนื่องจากการเขียนโปรแกรมต้องใช้ทั้งความรู้ และทฤษฎี รวมถึงตรรกะทางเหตุและผล และวิเคราะห์สาเหตุ หรือปัญหาออกมาเป็นโจทย์สำหรับการเขียนโปรแกรมให้ได้ ยิ่งได้เรียนรู้มากขึ้นเท่าไหร่ ยิ่งเจอปัญหาหรือโจทย์มากยิ่งขึ้นเท่าไหร่ยิ่งทำให้พัฒนาการเป็นนักวิเคราะห์ยิ่งขึ้น เหมือน Career path ของ Programmer – > Senior Programmer เมื่อเชี่ยวชาญในระดับหนึ่งแล้วก็จะกลายเป็น System analyst หรือ นักวิเคราะห์ระบบนั้นเอง
7.เป็นนักวิเคราะห์สาเหตุของปัญหา
คล้ายกับการวางแผน แต่จะลงลึกในเรื่องของการวิเคราะห์ปัญหา การเขียนโปรแกรมที่ดีต้องเข้าใจปัญหาของลูกค้าก่อนว่ามีรายละเอียดอย่างไร รวมถึงความต้องการเบื้องต้นของลูกค้าที่มีต่อโปรแกรม หากไม่สามารถวิเคราะห์สาเหตุของปัญหาได้ ก็ไม่สามารถหาวิธีแก้ปัญหาได้ การเขียนโปรแกรมต้องเผชิญกับสิ่งเหล่านี้ตลอดเวลา ซึ่งช่วยในการพัฒนาทักษะด้านนี้อย่างสูง
จุดเด่นของโปรแกรมเมอร์ส่วนใหญ่ก็คือการแก้ปัญหานั่นเอง เพราะในการเขียนโปรแกรมย่อมเจอกับปัญหาต่างๆมากมาย จึงจำเป็นต้องใช้เทคนิคและวิธีการของตัวเองในการแก้ปัญหา แต่ในการแก้ปัญหานั้น ก็ต้องมีการวิเคราะห์ปัญหาด้วยเช่นกัน ทำให้มีการฝึ กฝนการวิเคราะห์ปัญหาและนำมาซึ่งวิธีการแก้ปัญหาที่ดีและมีประสิทธิภาพ
8.มีความคิดสร้างสรรค์
การเขียนโปรแกรมนั้น ช่วยส่งเสริมให้เรามีความคิดสร้างสรรค์อย่างมากมาย เนื่องจากต้องจินตนาการอยู่ตลอดว่าอยากให้โปรแกรมออกมาเป็นอย่างไร เมื่อเขียนโปรแกรมหนึ่งสำเร็จ อาจเพื่อนำมาใช้งานก็จะพัฒนาโปรแกรมนั้นให้ใช้ง่ายขึ้นและตอบสนองกับ user ได้มากยิ่งขึ้นไปอีก
สิ่งที่โปรแกรมเมอร์ส่วนใหญ่จำเป็นต้องมีคือความคิดสร้างสรรค์ เพราะในยุค IT นี้ ความรู้นั้นมีมากมายและไม่หยุดนิ่ง ในการที่เราเป็นโปรแกรมเมอร์คนนึง ถือว่าอยู่ในกลุ่มของผู้พัฒนาเทคนิคหรือนวัตกรรมใหม่ๆให้เกิดขึ้น ดังนั้นในการพัฒนาโปรแกรมต่างๆ ย่อมได้ใช้สมองส่วนของความคิดสร้างสรรค์อยู่เสมอ
9.รอบคอบ
การเขียนโปรแกรมให้สำเร็จให้สามารถใช้งานได้สมบูรณ์ โดยไม่เกิดข้อผิดพลาดจะต้องมีการตรวจสอบในแต่ละขั้นตอนของการทำงาน ว่าจะไม่เกิดข้อผิดพลาดหรือกรณีผิดพลาด ทำให้ฝึ กความมีระเบียบในการคิด และความรอบคอบ
การเขียนโปรแกรมต้องการความถูกต้องของวากยสัมพันธ์ของภาษา ที่ต้องทำการเขียน เพื่อทำให้โปรแกรมสามารถทำงานได้ถูกต้องตามที่ตั้งใจ จึงต้องอาศัยความรอบคอบอย่างมากเพื่อให้ตัวโปรแกรมสามารถทำงานตามที่ตั้งใจไว้โดยไม่ละเลยข้อผิดพลาดที่อาจจะเกิดขึ้นได้ ต้องอาศัยการคิดที่เป็นระบบรอบคอบวางแผนการจัดการข้อผิดพลาดและการทำงานให้ครอบคลุมตามวัตุประสงค์
10.เก่งในการวางแผน
ก่อนลงมือเขียนโปรแกรม จะต้องมีการศึกษาคุณสมบัติของโปรแกรมเหล่านั้น และจุด ประสงค์ผลลัพธ์ของโปรแกรมที่เราต้องการ รวมถึงระยะเวลาในการเขียนโปรแกรมนั้นๆ ให้เสร็จตามกำหนดเวลาดังนั้นจึงต้องมีการประเมินปัจจัยแวดล้อมต่างๆวางแผนงานต่างๆ ให้เสร็จลุล่วงตามเป้าหมาย
การเขียนโปรแกรมที่ดีต้องการวางแผนอย่างดี เริ่มจากวิเคราะห์ความต้องการที่มีต่อโปรแกรม หรือวิเคราะห์ถึงปัญหาที่ต้องการโปรแกรมเข้าไปช่วยเหลือ วางกรอบและโครง สร้างของโปรแกรม กำหนดกรอบและขอบเขตโปรแกรมย่อยต่างๆ กำหนดความ สัมพันธ์ระหว่างโปรแกรมต่างๆ กำหนดเวลาในการพัฒนาแต่ละโปรแกรมย่อย วางแผนการทดสอบระบบย่อยและระบบรวม วางแผนประเมินความคืบหน้า เป็นต้น ทั้งหมดจะต้องวางแผนอย่างดี มิฉะนั้นจะสามารถทำให้งานล่าช้าหรือเสียหายได้
+ ฉลาดมีไหวพริบ
การที่เราเขียนโปรแกรมบ่อยๆ จะทำให้เรามีตรรกะการคิด ทำให้พัฒนาสมองของเราได้ อีกทั้งนักเขียนโปรแกรมทั้งหลาย ต่างก็ต้องมีไหวพริบในการแก้ปัญหาที่เกิดด้วยเช่นกัน ทำให้เกิดกระบวนการเรียนรู้ในรูปแบบใหม่ๆเพราะสามารถประยุกต์ความรู้ทางการเขียนโปรแกรมไปใช้ในงานต่างๆได้หลากหลาย ซึ่งขึ้นกับผู้นำไปปฎิบัติว่ามีความสร้าง สรรค์และไหวพริบมากน้อยแค่ไหน
+ เรียนรู้เร็ว
โปรแกรมนั้นเขียนจากภาษามากมาย ซึ่งโปรแกรมเมอร์ไม่สามารถจำได้ทุกภาษา แต่โปรแกรมเมอร์มีพื้นฐานการเขียนโปรแกรม เมื่อเจองานการเขียนโปรแกรมจากภาษาที่ไม่ถนัด โปรแกรมเมอร์จะเรียนรู้ได้เร็วกว่าใครๆและพื้นฐานการเรียนรู้ได้เร็วนี้ ทำให้โปรแกรมเมอร์สามารถเรียนรู้งานอื่นๆได้เร็วเช่นกัน
หากคุณเป็นคนชอบเขียนโปรแกรมอยู่แล้ว สามารถเข้าไปอัพเดตดนตรี กีฬา งานอดิเรก (Competency) ผ่าน Super Resume ของคุณได้เลย ที่นี่ เพื่อให้คุณรู้จักตัวตนของคุณมากขึ้นผ่านงานอดิเรกที่คุณทำ หรือหากคุณยังไม่มีเรซูเม่ ลงทะเบียนสมัครสมาชิกฟรีพร้อมทำเรซูเม่ได้ง่ายๆ ที่ www.superresume.com